Fusão de Dados em Excel com R e Python
Guia para dominar a fusão de grandes quantidades de dados no formato Excel com R e Python.
Introdução
No mundo da análise de dados, frequentemente nos deparamos com a necessidade de unir vários arquivos Excel ou CSV em um único conjunto de dados. Existem diversas abordagens para realizar esta tarefa, cada uma com seus próprios métodos e desafios. A forma mais básica envolve usar o próprio Excel para combinar arquivos manualmente ou através de macros.Além disso, existem várias ferramentas online que oferecem a fusão de arquivos Excel de maneira automatizada. Estes métodos são simples e diretos, mas têm limitações significativas, especialmente quando lidamos com grandes volumes de dados.
Problemas com Métodos Convencionais
Quando o número de arquivos é grande e cada arquivo contém uma quantidade substancial de dados, o uso do Excel ou ferramentas online pode se tornar impraticável. Tais métodos podem consumir uma quantidade excessiva de recursos do sistema, levando à lentidão ou até mesmo travamento do computador. Além disso, a utilização de ferramentas online para a fusão de dados pode representar um risco de segurança, pois expõe informações potencialmente sensíveis a domínios externos e não privados.
Solução Segura para Grandes volumes de Arquivos
Diante desses desafios, é essencial encontrar uma forma de unir arquivos de maneira eficiente e segura, especialmente em um ambiente profissional onde a integridade e a confidencialidade dos dados são primordiais. Abaixo, compartilho com vocês dois scripts que têm contribuido em meu trabalho. Eles permitem a rápida e segura fusão de grandes quantidades de arquivos em Excel e CSV, mantendo a integridade dos dados e operando com eficiência mesmo em datasets volumosos.
Python
O script abaixo em Python é utilizado para combinar múltiplos arquivos Excel em um único DataFrame utilizando a biblioteca pandas
.
import os
import pandas as pd
# Caminho onde os arquivos Excel estão localizados
# Path to the directory where the Excel files are located
path = '/path/to/directory'
# Lista para armazenar os dataframes
# List to store the dataframes
lista_dfs = []
# Iterar sobre cada arquivo no diretório
# Iterate over each file in the directory
for arquivo in os.listdir(caminho):
if arquivo.endswith('.xlsx') or arquivo.endswith('.xls'):
# Caminho completo do arquivo
# Full path of the file
caminho_arquivo = os.path.join(caminho, arquivo)
# Ler o arquivo Excel
# Read the Excel file
df = pd.read_excel(caminho_arquivo)
# Adicionar o dataframe à lista
# Add the dataframe to the list
lista_dfs.append(df)
# Concatenar todos os dataframes
# Concatenate all the dataframes
df_final = pd.concat(lista_dfs, ignore_index=True)
# Exibir o dataframe resultante
# Display the resulting dataframe
print(df_final)
# Salvar o dataframe resultante em um novo arquivo Excel
# Save the resulting dataframe to a new Excel file
df_final.to_excel('/caminho/para/salvar/o/arquivo_resultante.xlsx', index=False)
Se você estiver interessado em utilizar a função que recria o script mencionado anteriormente, ela está disponível no meu Gist no GitHub. Você pode facilmente acessá-la e copiá-la para o seu próprio uso. Confira-a através do seguinte link: gist.github.com/nionmaron. Sinta-se à vontade para explorar, modificar e implementar a função conforme suas necessidades!
Como Executar o Script
Instale a Biblioteca
pandas
: Certifique-se de que a biblioteca pandas está instalada no seu ambiente Python. Se necessário, instale-a usando pip install pandas.Modifique os Caminhos: Altere os valores de caminho e o caminho no final_df.to_excel() para os caminhos desejados no seu sistema.
Execute o Script: Execute o script em um ambiente Python. Isso pode ser feito através de um terminal de comando ou usando uma IDE como Jupyter Notebook, PyCharm, ou outro.
Lembre-se de que os arquivos Excel devem estar no formato .xlsx ou .xls e localizados no diretório especificado na variável caminho.
Linguagem R
O script abaixo em R é utilizado para combinar múltiplos arquivos Excel em um único DataFrame utilizando a biblioteca readxl
e writexl
.
# Carregar biblioteca necessária
# Load necessary library
library(readxl)
# Definir o caminho onde os arquivos Excel estão localizados
# Define the path where Excel files are located
caminho <- '/caminho/para/o/diretório'
# Obter uma lista de todos os arquivos Excel no diretório
# Get a list of all Excel files in the directory
arquivos <- list.files(path = caminho, pattern = '\\\\.xlsx$', full.names = TRUE)
# Ler cada arquivo e armazená-los em uma lista
# Read each file and store them in a list
lista_dfs <- lapply(arquivos, read_excel)
# Combinar todos os data frames
# Combine all the data frames
df_final <- do.call(rbind, lista_dfs)
# Exibir o dataframe resultante
# Display the resulting dataframe
print(df_final)
# Salvar o dataframe resultante em um novo arquivo Excel
# Instalar o pacote 'writexl' se necessário
# install.packages('writexl')
# Save the resulting dataframe in a new Excel file
# Install the 'writexl' package if necessary
# install.packages('writexl')
library(writexl)
write_xlsx(df_final, '/caminho/para/salvar/o/arquivo_resultante.xlsx')
Se você estiver interessado em utilizar a função que recria o script mencionado anteriormente, ela está disponível no meu Gist no GitHub. Você pode facilmente acessá-la e copiá-la para o seu próprio uso. Confira-a através do seguinte link: gist.github.com/nionmaron. Sinta-se à vontade para explorar, modificar e implementar a função conforme suas necessidades!
Como Executar o Script
Para executar o script, siga estes passos:
- Certifique-se de ter o R e os pacotes
readxl
ewritexl
instalados. - Modifique o valor de caminho para o diretório onde seus arquivos Excel estão armazenados.
- Execute o script no R. Isso lerá todos os arquivos
.xlsx
no diretório especificado, os combinará em um único data frame e, opcionalmente, salvará o resultado em um novo arquivo Excel.
Lembre-se de que o caminho do diretório e o local do arquivo de saída devem ser alterados para corresponder à sua estrutura de diretórios e necessidades.
Observação
Para garantir que o script funcione corretamente e combine os dados de todos os arquivos Excel, é essencial que o nome das colunas em cada arquivo seja exatamente o mesmo. Qualquer discrepância nos nomes das colunas entre os arquivos pode resultar em erros ou em um DataFrame combinado incorreto. Verifique e padronize os nomes das colunas em todos os arquivos antes de utilizar esta função para obter os melhores resultados.
Conclusão
A escolha do método correto para a fusão de arquivos Excel depende de vários fatores, incluindo o volume de dados, a necessidade de segurança e a disponibilidade de recursos. Ao optar por soluções de programação como R e Python, podemos superar muitas das limitações dos métodos convencionais, garantindo um processo mais rápido, seguro e adaptável às necessidades de grandes projetos de análise de dados.
#DataFusion #RProgramming #PythonCoding #DataAnalysis #ExcelTips